User context recognition in messaging service environment and interaction with messaging service based on user context recognition

ABSTRACT

Disclosed is technique for a user context detection and interaction with a messaging service based on a user context in a messaging service environment. An interaction method of a mobile device may include acquiring information associated with a context of at least one of a mobile device and a user of the mobile device under control of an application installed and executed on the mobile device in association with a messaging service, determining a context of the user based on the acquired information, verifying a function to be provided to the user through the messaging service based on the determined context of the user, dynamically determining a configuration of a user interface based on the determined context of the user, and providing the function through the user interface of which the configuration is dynamically determined.

CROSS-REFERENCE TO RELATED APPLICATIONS

This U.S. non-provisional application is a continuation application of,and claims the benefit of priority under 35 U.S.C. § 365(c) toInternational Application PCT/KR2018/000628, which has an Internationalfiling date of Jan. 12, 2018 and the benefit of priority under 35 U.S.C.§ 119 to Korean Patent Application No. 10-2020-7014342 filed on May 19,2020 in the Korean Intellectual Property Office (KIPO), the disclosureof each of which is incorporated herein by reference in its entirety.

BACKGROUND Technical Field

One or more example embodiments relate to technique for a user contextdetection and interaction with a messaging service based on a usercontext in a messaging service environment, and more particularly, to aninteraction method capable of inferring a current context of a userbased on current information and recent records acquirable from a mobiledevice and variously interacting with a messaging service using theinferred context of the user, a computer apparatus for performing theinteraction method, and/or a non-transitory computer readable recordmedium storing computer-readable instructions that, when executed by aprocessor, cause the processor to perform the interaction method.

Description of the Related Art

Messaging applications installed and executed on mobile devices of usersfor a messaging service provide various functions that allow the usersto send and receive messages with other users through the mobiledevices. For example, a messaging application according to the relatedart displays a notification window on a screen to inform reception of amessage in response to receiving the message in a case in which a useris not using a mobile device, for example, when the screen of the mobiledevice is turned off. However, the messaging application according tothe related art simply displays a notification window on a screen basedon a preset function and does not consider a context of the user. Forexample, displaying a notification window on a screen of a mobile devicein a situation in which the user is unable to view the screen of themobile device may merely use resources of the mobile device without anysignificant meaning.

Also, there are related arts for recognizing a mobile device of a useror a context of the user using the mobile device and variouslycontrolling the mobile device based on the recognized context. However,in such related arts, a mobile device may be merely used to recognize acontext of a user and to determine an operation of the mobile deviceitself based on the recognized context of the user.

SUMMARY

The example embodiments provide an interaction method capable ofinferring a current context of a user based on current information andrecent records acquirable from a mobile device and variously interactingwith a messaging service using the inferred context of the user, acomputer apparatus for performing the interaction method, and/or anon-transitory computer readable record medium storing computer-readableinstructions that, when executed by a processor, cause the processor toperform the interaction method.

According to an aspect of at least one example embodiment, there isprovided an interaction method of a mobile device. The interactionmethod may include acquiring information associated with a context of atleast one of a mobile device and a user of the mobile device undercontrol of an application installed and executed on the mobile device inassociation with a messaging service, determining a context of the userbased on the acquired information, verifying a function to be providedto the user through the messaging service based on the determinedcontext of the user, dynamically determining a configuration of a userinterface, based on the determined context of the user, and providingthe function through the user interface of which the configuration isdynamically determined.

The determining the context of the user may comprise determining aspecific context by inputting the acquired information to aclassification model pre-trained to determine one context among presetcontexts based on input information, and determining the specificcontext as the context of the user.

The function may comprise a function of providing a notification about areceived message to the user through the messaging service, and the userinterface may include at least two or more of a configuration of notdisplaying a notification window, a configuration of displaying thecontent of the message through the notification window, a configurationof providing content of a message and a selection interface through thenotification window, or a configuration of providing the content of themessage, the selection interface, and a text input interface through thenotification window.

The determining of the context of the user may comprise determining onelevel among a plurality of levels, for example, a level of freedom,based on a device access status of the user, a device manipulationstatus of the user, and a text input status of the user.

The interaction method may further comprise setting the configuration ofthe user interface with respect to each of the plurality of levels. Theproviding of the function may comprise providing the function throughthe user interface configured based on the determined one level or alower level than the determined one level, among the plurality oflevels.

According to an aspect of at least one example embodiment, there isprovided an interaction method including storing and managinginformation about other members having a personal relationshipestablished for each of a plurality of members using a messagingservice, continuously gathering context information about each of theplurality of members, storing and updating the gathered contextinformation in a database in association with a corresponding member, inresponse to providing information about a second member having apersonal relationship established with a first member among theplurality of members to the first member, extracting context informationabout the second member from the database, and providing the extractedcontext information to the first member with information about thesecond member.

The extracting from the database may include, in response to providing alist of other members having a personal relationship established withthe first member, extracting context information about each of the othermembers from the database, and the providing to the first member mayinclude providing a list linked to information of another membercorresponding to the extracted context information about each of theother members to the first member.

The providing to the first member may include calculating a chatjoinability score of the second member based on the extracted contextinformation, and providing the calculated chat joinability score to thefirst member with information about the second member.

The interaction method may further include, in response to providinginformation about a chat session joined by the first member, extractingcontext information of each of members joining the chat session from thedatabase, calculating a chat joinability score for the chat sessionbased on the context information of each of the members joining the chatsession, and providing the calculated chat joinability score to thefirst member with information about the chat session.

The interaction method may further include sorting a list of chatsessions joined by the first member based on a chat joinability scorefor each of the chat sessions joined by the first member, and providingthe sorted list to the first member.

The calculating of the chat joinability score may include calculatingthe chat joinability score to increase according to an increase in alevel according to context information of each of the members joiningthe chat session and an increase in a number of messages sent and/orreceived through the chat session.

The interaction method may further include providing a user interfacethat allows the first member to set whether to provide contextinformation to the other members having a personal relationshipestablished with the first member for each of the other members, throughan application installed and executed on a mobile device of the firstmember in association with the messaging service.

The interaction method may further include determining a third memberhaving the same context information as that of the first member orhaving context information defined or preset by the first member amongthe other members, recommending the third member to the first member;and in response to a selection on the recommended third member, creatinga chat session in which the first member and the third member areparticipants.

The interaction method may further include selecting members having thesame context information among the plurality of members and creating ananonymous chat session between the selected members.

The interaction method may further include retrieving an anonymous chatsession corresponding to context information set by the first member,and providing information about the retrieved anonymous chat session tothe first member.

According to an aspect of at least one example embodiment, there isprovided a non-transitory computer-readable record medium storinginstructions that, when executed by a processor, cause the processor toperform the interaction method.

According to an aspect of at least one example embodiment, there isprovided a computer apparatus comprising at least one processorconfigured to execute computer-readable instructions. The at least oneprocessor may be configured to acquire information associated with acontext of at least one of a mobile device and a user of the mobiledevice under control of an application installed and executed on themobile device in association with a messaging service, determine acontext of the user based on the acquired information, verify a functionto be provided to the user through the messaging service based on thedetermined context of the user, dynamically determine a configuration ofa user interface based on the determined context of the user, andprovide the function through the user interface of which theconfiguration is dynamically determined.

According to an aspect of at least one example embodiment, there isprovided a computer apparatus comprising at least one processorconfigured to execute computer-readable instructions. The at least oneprocessor is configured to store and manage information about othermembers having a personal relationship established for each of aplurality of members using a messaging service, continuously gathercontext information about each of the plurality of members, store andupdate the gathered context information in a database in associationwith a corresponding member, in response to providing information abouta second member having a personal relationship established with a firstmember among the plurality of members to the first member, extractcontext information about the second member from the database, andprovide the extracted context information to the first member withinformation about the second member.

According to some example embodiments, it is possible to provide adifferent user interface based on a context of a user in terms ofproviding the same function, (e.g., providing a notification, byinferring a current context of the user based on current information andrecent records acquirable from a mobile device, by determining a levelof freedom of the user based on a device access status, a devicemanipulation status, and a text input status according to the inferredcontext of the user, and by determining an interaction method with amessaging service based on the determined level of freedom).

According to some example embodiments, it is possible to provide statusinformation of other users having a personal relationship establishedwith a specific user to the specific user by gathering and managinginformation about contexts of users at a messaging service.

According to some example embodiments, it is possible to provide and/ordisplay information about a chat joinability score for each of chatsessions established at a messaging service by gathering and managinginformation about contexts of users at the messaging service.

According to some example embodiments, it is possible to provide and/ordisplay information about the chat concentration of participants in achat session at a messaging service by gathering and managinginformation about contexts of users at the messaging service.

According to some example embodiments, it is possible to recommend aparticipant of a chat session based on contexts of users at a time ofcreating the chat session by gathering and managing information aboutcontexts of users at the messaging service.

According to some example embodiments, it is possible to provide afunction that allows users to retrieve, create, and participate in ananonymous cat session based on contexts of the users by gathering andmanaging information about contexts of the users at a messaging service.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating an example of a network environmentaccording to at least one example embodiment;

FIG. 2 is a diagram illustrating an example of a computer apparatusaccording to at least one example embodiment;

FIG. 3 illustrates an example of a process of detecting a context of auser according to at least one example embodiment;

FIGS. 4 to 8 illustrate examples of providing a different user interfacebased on a level of freedom according to at least one exampleembodiment;

FIG. 9 illustrates an example of displaying status information ofanother user according to at least one example embodiment;

FIG. 10 illustrates an example of providing a chat joinability scoreaccording to at least one example embodiment;

FIG. 11 is a flowchart illustrating an example of an interaction methodaccording to at least one example embodiment; and

FIG. 12 is a flowchart illustrating another example of an interactionmethod according to at least one example embodiment.

DETAILED DESCRIPTION

One or more example embodiments will be described in detail withreference to the accompanying drawings. Example embodiments, however,may be embodied in various different forms, and should not be construedas being limited to only the illustrated example embodiments. Rather,the illustrated example embodiments are provided as examples so thatthis disclosure will be thorough and complete, and will fully convey theconcepts of this disclosure to those skilled in the art. Accordingly,known processes, elements, and techniques, may not be described withrespect to some example embodiments. Unless otherwise noted, likereference characters denote like elements throughout the attacheddrawings and written description, and thus descriptions will not berepeated.

As used herein, the singular forms “a,” “an,” and “the,” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups, thereof. As used herein, the term “and/or”includes any and all combinations of one or more of the associatedlisted products.

Expressions such as “at least one of,” when preceding a list ofelements, modify the entire list of elements and do not modify theindividual elements of the list. Also, the term “exemplary” is intendedto refer to an example or illustration.

Unless otherwise defined, all terms (including technical and scientificterms) used herein have the same meaning as commonly understood by oneof ordinary skill in the art to which example embodiments belong. Terms,such as those defined in commonly used dictionaries, should beinterpreted as having a meaning that is consistent with their meaning inthe context of the relevant art and/or this disclosure, and should notbe interpreted in an idealized or overly formal sense unless expresslyso defined herein.

Software may include a computer program, program code, instructions, orsome combination thereof, for independently or collectively instructingor configuring a hardware device to operate as desired. The computerprogram and/or program code may include program or computer-readableinstructions, software components, software modules, data files, datastructures, and/or the like, capable of being implemented by one or morehardware devices, such as one or more of the hardware devices mentionedabove. Examples of program code include both machine code produced by acompiler and higher level program code that is executed using aninterpreter.

A hardware device, such as a computer processing device, may run anoperating system (OS) and one or more software applications that run onthe OS.

The computer processing device also may access, store, manipulate,process, and create data in response to execution of the software. Forsimplicity, one or more example embodiments may be implemented as onecomputer processing device.

However, one skilled in the art will appreciate that a hardware devicemay include multiple processing elements and multiple types ofprocessing elements. For example, a hardware device may include multipleprocessors or a processor and a controller. In addition, otherprocessing configurations are possible, such as parallel processors.

Although described with reference to specific examples and drawings,modifications, additions and substitutions of example embodiments may bevariously made according to the description by those of ordinary skillin the art. For example, the described techniques may be performed in anorder different with that of the methods described, and/or componentssuch as the described system, architecture, devices, circuit, and thelike, may be connected or combined to be different from theabove-described methods, or results may be appropriately achieved byother components or equivalents.

Hereinafter, some example embodiments will be described with referenceto the accompanying drawings.

An interaction method according to example embodiments may be configuredthrough a computer apparatus, such as an electronic device or a server,which is described below. Here, a computer program according to anexample embodiment may be installed and executed on the computerapparatus and the computer apparatus may perform the interaction methodaccording to example embodiments under control of the executed computerprogram. The aforementioned computer program may be stored on anon-transitory computer-readable record medium to implement theinteraction method on a computer in conjunction with the computerapparatus.

FIG. 1 illustrates an example of a network environment according to atleast one example embodiment. Referring to FIG. 1, the networkenvironment may include a plurality of electronic devices 110, 120, 130,and 140, a plurality of servers 150 and 160, and a network 170. FIG. 1is provided as an example only. A number of electronic devices or anumber of servers is not limited thereto.

Each of the plurality of electronic devices 110, 120, 130, and 140 maybe a fixed terminal or a mobile terminal that is configured as acomputer apparatus. For example, the plurality of electronic devices110, 120, 130, and 140 may be a smartphone, a mobile phone, a navigationdevice, a computer, a laptop computer, a digital broadcasting terminal,a personal digital assistant (PDA), a portable multimedia player (PMP),a tablet PC, and the like. For example, although FIG. 1 illustrates ashape of a smartphone as an example of the electronic device 110, theelectronic device 110 used herein may refer to one of various types ofphysical computer apparatuses capable of communicating with otherelectronic devices 120, 130, and 140, and/or the servers 150 and 160over the network 170 in a wireless or wired communication manner.

The communication scheme is not limited and may include a near fieldwireless communication scheme between devices as well as a communicationscheme using a communication network (e.g., a mobile communicationnetwork, wired Internet, wireless Internet, and a broadcasting network)includable in the network 170. For example, the network 170 may includeat least one of network topologies that include a personal area network(PAN), a local area network (IAN), a campus area network (CAN), ametropolitan area network (MAN), a wide area network (WAN), a broadbandnetwork (BBN), and Internet. Also, the network 170 may include at leastone of network topologies that include a bus network, a star network, aring network, a mesh network, a star-bus network, a tree or hierarchicalnetwork, and the like. However, they are provided as examples only.

Each of the servers 150 and 160 may be configured as a computerapparatus or a plurality of computer apparatuses that provides aninstruction, a code, a file, content, a service, etc., throughcommunication with the plurality of electronic devices 110, 120, 130,and 140 over the network 170. For example, the server 150 may be asystem that provides a first service to the plurality of electronicdevices 110, 120, 130, and 140 connected over the network 170 and theserver 160 may be a system that provides a second service to theplurality of electronic devices 110, 120, 130, and 140 connected overthe network 170. For example, the first service may be a social networkservice (SNS). In this case, the server 150 may provide various servicesprovidable as the SNS, such as a messaging service and a timelineservice, to the plurality of electronic devices 110, 120, 130, and 140each on which an application linked to the service is installed, throughthe application. Also, the server 160 may provide a service fordistributing an installation file for installing the application to theplurality of electronic devices 110, 120, 130, and 140 as the secondservice.

FIG. 2 is a block diagram illustrating an example of a computerapparatus according to at least one example embodiment. Each of theelectronic devices 110, 120, 130, and 140 or each of the servers 150 and160 may be implemented by a computer apparatus 200 of FIG. 2. Forexample, a computer program according to an example embodiment may beinstalled and executed on the computer apparatus 200. The computerapparatus 200 may perform an interaction method according to someexample embodiments under control of the executed computer program.

Referring to FIG. 2, the computer apparatus 200 may include a memory210, a processor 220, a communication interface 230, and an input/output(I/O) interface 240. The memory 210 may include a permanent mass storagedevice, such as random access memory (RAM), a read only memory (ROM), adisk drive, etc., as a non-transitory computer-readable record medium.The permanent mass storage device, such as ROM and disk drive, may beincluded in the computer apparatus 200 as a permanent storage deviceseparate from the memory 210. Also, an OS and at least one program codemay be stored in the memory 210. Such software components may be loadedto the memory 210 from another non-transitory computer-readable recordmedium separate from the memory 210. The other non-transitorycomputer-readable record medium may include a non-transitorycomputer-readable record medium, for example, a floppy drive, a disk, atape, a DVD/CD-ROM drive, a memory card, etc. According to other exampleembodiments, software components may be loaded to the memory 210 throughthe communication interface 230, instead of the non-transitorycomputer-readable record medium. For example, the software componentsmay be loaded to the memory 210 of the computer apparatus 200 based on acomputer program installed by files provided over the network 170.

The processor 220 may be configured to process instructions of acomputer program by performing basic arithmetic operations, logicoperations, and I/O operations. The computer-readable instructions maybe provided from the memory 210 or the communication interface 230 tothe processor 220. For example, the processor 220 may be configured toexecute received instructions in response to the program code stored inthe storage device, such as the memory 210.

The communication interface 230 may provide a function for communicationbetween the computer apparatus 200 and another apparatus, for example,the aforementioned storage devices, over the network 170. For example,the processor 220 of the computer apparatus 200 may transfer a requestor an instruction created based on a program code stored in the storagedevice such as the memory 210, data, a file, etc., to other apparatusesover the network 170 under control of the communication interface 230.Inversely, the computer apparatus 200 may receive a signal, aninstruction, data, a file, etc., from another apparatus through thecommunication interface 230 of the computer apparatus 200 by goingthrough the network 170. For example, a signal, an instruction, data,etc., received through the communication interface 230 may betransferred to the processor 220 or the memory 210, and a file, etc.,may be stored in a storage medium, for example, the permanent storagedevice, further includable in the computer apparatus 200.

The I/O interface 240 may be a device used for interface with an I/Oapparatus 250. For example, an input device may include a device, suchas a microphone, a keyboard, a mouse, etc., and an output device mayinclude a device, such as a display, a speaker, etc. As another example,the I/O interface 240 may be a device for interface with an apparatus inwhich an input function and an output function are integrated into asingle function, such as a touchscreen. The I/O apparatus 250 may beconfigured as a single device with the computer apparatus 200.

According to other example embodiments, the computer apparatus 200 mayinclude a smaller or greater number of components than the number ofcomponents shown in FIG. 2. However, there is no need to clearlyillustrate many components according to the related art. For example,the computer apparatus 200 may include at least a portion of the I/Oapparatus 250, or may further include other components, for example, atransceiver, a database (DB), and the like.

FIG. 3 illustrates an example of a process of detecting a context of auser according to at least one example embodiment. FIG. 3 illustrates afirst process 310 to a seventh process 370.

The first process 310 may be an example of a process of detecting a handof a user using a mobile device. The mobile device may provideinformation about the hand of the user using the mobile device throughan acceleration sensor and a gyro sensor. For example, information aboutat least one of states “left hand,” “right hand,” “both hands,” and“hold.” “Left hand” may represent a state in which the user is using themobile device with the left hand, “right hand” may represent a state inwhich the user is using the mobile device with the right hand, “bothhands” may represent a state in which the user is using the mobiledevice with both hands, and “hold” may represent a state in which theuser is using the mobile device without holding the mobile device. Forexample, in the case of typing by manipulating the mobile device withone hand, an orientation in which shaking or vibration is prominent orrelatively strong based on a central axis of the mobile device and/or anorientation of the mobile device (e.g., a vertical direction or ahorizontal direction) may be verified through the acceleration sensorand/or the gyro sensor. The verified orientation may be compared to adata set pre-stored in association with a one-hand device use pattern todetermine which hand is being used or whether both hands are being usedto hold the mobile device.

The second process 320 may be an example of a process of detectingwhether a one-hand use mode is in use. The one-hand use mode may be amode for providing a function that allows the user to be capable ofcontrolling the mobile device through a specific mobile device or aspecific application, and the mobile device may provide informationabout whether the one-hand use mode is in an ON state or in an OFFstate. Here, if the mobile device does not provide the one-hand usemode, the mobile device may be regarded to be in an OFF state.

The third process 330 may be an example of a process of detecting amovement state of the user. The mobile device may provide informationabout a current movement state of the user through the third process330. Examples of the movement state may include one of “stop,” “walk,”“run,” “bus,” “subway,” “vehicle,” and “bicycle.” Also, the thirdprocess 330 may further provide information about a movement speed ofthe user. For example, the mobile device may acquire information about amovement speed of the mobile device based on a change in a geographicallocation (e.g., latitudinal/longitudinal coordinates) of the mobiledevice provided through information of a global positioning system (GPS)and a base station of a neighboring wireless telephone network orwireless fidelity (WiFi) access points (APs). Also, the mobile devicemay acquire information about the movement state of the user based onthe acquired movement speed and/or a vibration of the mobile device or apattern of the vibration measured using the acceleration sensor and/orthe gyro sensor included in the mobile device. Technology for acquiringinformation about a movement speed or a movement state may be easilyunderstood by those skilled in the art from the known arts, such as, forexample, ‘Google Activity Recognition Application Programming Interface(API).’

The fourth process 340 may be an example of a process of detecting stateinformation of the mobile device. The mobile device may provide at leastone of information about ON or OFF of a liquid crystal display (LCD),information regarding whether an application is currently being used bythe user (e.g., information about the application that is currentlybeing used by the user if the application is being used, or informationregarding whether a specific application operates on a foreground or abackground), and information about a release status of a screen lock.

The fifth process 350 may be an example of a process of detectinglocation information of the mobile device. Here, the locationinformation may include information, such as, for example, inside apocket of clothing worn by the user, inside a bag carried by the user,or externally exposed, instead of including a geographical location. Forexample, the mobile device may detect and provide location informationof the mobile device using, for example, an acceleration sensor, anilluminance sensor, a microphone, and a near field sensor.

The sixth process 360 may be an example of a process of detectinggeographical location information of the mobile device. The mobiledevice may acquire and provide geographical location information, suchas current latitudinal/longitudinal location information of the mobiledevice using a variety of information, for example, a GPS, WiFipositioning, and a base station. Also, the sixth process 360 may provideinformation about a use status of geographical location information. Forexample, if the user is using a navigation app, it may be determinedthat the user is using the geographical location information.

The aforementioned techniques for the first process 310 to the sixthprocess 360 may be easily understood by those skilled in the art fromthe known arts. For example, a technique for detecting the movementstate of the user through the third process 330 may be easily understoodby those skilled in the art through ‘Google Activity Recognition API.’Some example embodiments relate to methods of using such acquiredinformation to automatically detect and use a context of the user, not amethod of acquiring such individual information. Also, those skilled inthe art may easily understand that, depending on example embodiments,only a portion of the first process 310 to the sixth process 360 may beperformed or a new process of acquiring another information may beadded.

The seventh process 370 may be an example of a process of determining auser context based on information provided through the first process 310to the sixth process 360. The seventh process 370 may be performedthrough the mobile device and, depending on example embodiments, may beperformed through a server (e.g., the server 150) that receivesinformation provided through the mobile device through the first process310 to the sixth process 360. The user context may be determined byemploying a non-probabilistic classification model or a classificationmodel using a probability as classification methods using machinelearning.

For example, a naive Bayes classification may be used for theclassification model using the probability. The naive Bayesclassification refers to a type of a probability classifier that appliesBayes' theorem that assumes independence between features.

The naive Bayes refers to a conditional probability model and representsinstances to be classified as a vector x=(x₁, . . . , x_(n)) thatrepresents N features (dependent variables), and a naive Bayesclassifier allocates k available probability results (classes) using thevector, as represented by the following Equation 1.

p(C _(k) |x ₁ , . . . ,x _(n))  [Equation 1]

In Equation 1, if a number of features N is large or if a single featureis capable of having a large number of values, it may be difficult toimmediately apply a Bayesian model to a probability table. Accordingly,using Bayes' theorem and conditional probability, Equation 1 may bearranged to the following Equation 2.

$\begin{matrix}{{p\left( C_{k} \middle| x \right)} = {\frac{{p\left( C_{k} \right)}{p\left( x \middle| C_{k} \right)}}{p(x)}.}} & \left\lbrack {{Equation}\mspace{14mu} 2} \right\rbrack\end{matrix}$

Using Bayesian probability terms, the above Equation 2 may berepresented as the following Equation 3.

$\begin{matrix}{{posterior} = {\frac{{prior} \times {likelihood}}{evidence}.}} & \left\lbrack {{Equation}\mspace{14mu} 3} \right\rbrack\end{matrix}$

In Equation 3, ‘posterior’ denotes a posterior probability, ‘likelihood’denotes a prior likelihood, and ‘evidence’ denotes an observance value.

Actually, in the above Equation 3, only a numerator part is meaningfulsince a denominator part does not depend on a given C value and a valueF_(i) of features is given such that a value of a denominator becomesconstant. The numerator part is a joint probability model represented bythe following Equation 4.

p(C _(k) ,x ₁ , . . . ,x _(n))  [Equation 4]

Here, Equation 4 may be rearranged to the following Equation 5 by usinga chain rule that repeatedly applies a conditional probability.

$\begin{matrix}\begin{matrix}{{p\left( {C_{k},x_{1},\ldots \;,x_{n}} \right)} = {{p\left( C_{k} \right)}{p\left( {x_{1},\ldots \;,\left. x_{n} \middle| C_{k} \right.} \right)}}} \\{= {{p\left( C_{k} \right)}{p\left( x_{1} \middle| C_{k} \right)}{p\left( {x_{2},\ldots \;,\left. x_{n} \middle| C_{k} \right.,x_{1}} \right)}}} \\{= {{p\left( C_{k} \right)}{p\left( x_{1} \middle| C_{k} \right)}{p\left( {\left. x_{2} \middle| C_{k} \right.,x_{1}} \right)}}} \\{{p\left( {x_{3},\ldots \;,\left. x_{n} \middle| C_{k} \right.,x_{1},x_{2}} \right)}} \\{= {{p\left( C_{k} \right)}{p\left( x_{1} \middle| C_{k} \right)}{p\left( {\left. x_{2} \middle| C_{k} \right.,x_{1}} \right)}\mspace{14mu} \ldots}} \\{{p\left( {\left. x_{n} \middle| C_{k} \right.,x_{1},x_{2},x_{3},\ldots \;,x_{n - 1}} \right)}}\end{matrix} & \left\lbrack {{Equation}\mspace{14mu} 5} \right\rbrack\end{matrix}$

In naive Bayes, conditional independence may be represented by thefollowing Equation 6.

p(x _(i) |C _(k) ,x _(j))=p(x _(i) |C _(k)),

p(x _(i) |C _(k) ,x _(j) ,x _(k))=p(x _(i) |C _(k)),

p(x _(i) |C _(k) ,x _(j) ,x _(k) ,x _(l))=p(x _(i) |C _(k)),  [Equation6]

Here, if category type C is given, any feature F_(i) may beconditionally independent for all F_(j)(j≠i). That is, Equation 6 may beestablished for k and l, which j≠i. Based thereon, the joint model maybe represented by the following Equation 7.

$\begin{matrix}{{p\left( {\left. C_{k} \middle| x_{1} \right.,\ldots \;,x_{n}} \right)} \propto {p\left( {C_{k},x_{1},\ldots \;,x_{n}} \right)} \propto {{p\left( C_{k} \right)}{p\left( x_{1} \middle| C_{k} \right)}{p\left( x_{2} \middle| C_{k} \right)}{p\left( x_{3} \middle| C_{k} \right)}\mspace{11mu} \ldots} \propto {{p\left( C_{k} \right)}{\prod\limits_{i = 1}^{n}\; {{p\left( x_{i} \middle| C_{k} \right)}.}}}} & \left\lbrack {{Equation}\mspace{14mu} 7} \right\rbrack\end{matrix}$

The conditional distribution of class variable C in Equation 7 may berepresented by the following Equation 8 under the assumption ofindependence.

$\begin{matrix}{{p\left( {\left. C_{k} \middle| x_{1} \right.,\ldots \;,x_{n}} \right)} = {\frac{1}{Z}{p\left( C_{k} \right)}{\prod\limits_{i = 1}^{n}\; {p\left( x_{i} \middle| C_{k} \right)}}}} & \left\lbrack {{Equation}\mspace{14mu} 8} \right\rbrack\end{matrix}$

In Equation 8, Z=p(x) denotes a scaling factor that becomes a constantif feature values are given. In other words, Z=p(x) denotes a scalingfactor that only depends on x₁, . . . , x_(n).

The naive Bayes classification relates to combination of a probabilitymodel and a decision rule. A single common rule is to select a mostlikely hypothesis. It is to select a maximum value of a posteriordecision rule or a Maximum A Posteriori (MAP) decision rule. That is,the naive Bayes classification finds a class k having the maximumprobability with respect to C through the following Equation 9.

$\begin{matrix}{\hat{y} = {\underset{k \in {\{{1,\; \ldots \;,K}\}}}{argmax}\mspace{11mu} {p\left( C_{k} \right)}{\prod\limits_{i = 1}^{n}\; {{p\left( x_{i} \middle| C_{k} \right)}.}}}} & \left\lbrack {{Equation}\mspace{14mu} 9} \right\rbrack\end{matrix}$

For example, in the seventh process 370, the computer apparatus 200 maygather a number of event occurrences for each context with theassumption that a context according to information provided through eachof the first process 310 to the sixth process 360 is an independentevent. Also, the computer apparatus 200 may calculate an occurrenceprobability based on the number of event occurrences and may generate anevent model by calculating a probability of an individual context for adesired result value. Next, the computer apparatus 200 may input acontext event for a test and may estimate a result value through thegenerated event model.

Also, a support vector machine (SVM) may be used for a non-probabilisticclassification model. The SVM refers to a supervised learning model forpattern recognition and data analysis as one of machine learning fieldsand is generally used for classification and regression analysis. If aset of data belonging to one of two categories is given, an SVMalgorithm generates a non-probabilistic binary linear classificationmodel configured to determine a category to which new data belongs basedon the given set of data. The generated classification model isrepresented as a boundary in a space on which data is mapped. Here, theSVM algorithm refers to an algorithm that finds a boundary having alargest width. The SVM may be used for non-linear classification as wellas linear classification. For the non-linear classification, given dataneeds to be mapped on a high-dimensional feature space. To effectivelyperform this, Kernel tricks may be used.

For example, in the seventh process 370, the computer apparatus 200 mayconsecutively classify a set of data (a vector of data) corresponding toinformation provided through the first process 310 to the sixth process360 into categories and may determine a context (category) of the usercorresponding to the set of data.

The seventh process 370 may be performed by the computer apparatus 200that includes the event model. The computer apparatus 200 may be themobile device of the user, or may be the server 150 that receivesinformation from the mobile device over the network 170. For example,the computer apparatus 200 may provide information about the overallcontext of the user or information such as the following level offreedom by combining individual contexts provided through the firstprocess 310 to the sixth process 360. For example, in the seventhprocess 370, the computer apparatus 200 may classify a device accessstatus of the user, a device manipulation status of the user, a textinput status of the user through the event model and may provide a levelof freedom as an example of a result value. The following Table 1 showsan example of determining a level of freedom including 4 stages based ona user context.

TABLE 1 Level of Device Device freedom access manipulation Text input 1X X X 2 ◯ X X 3 ◯ ◯ X 4 ◯ ◯ ◯

For example, a situation in which the user is standing on the way towork in a bus and the mobile device is in a bag may be considered as afirst example condition. The mobile device may provide information abouta movement state (e.g., “in a bus” and a moving speed is 50 km per hour)of the user through the third process 330, may provide informationindicating that the user is not using any application for 30 minutesthrough the fourth process 340, and may verify and provide locationinformation of the mobile device as “bag” through the fifth process 350.In this case, the event model may determine each of the device accessstatus, the device manipulation status, and the text input status forthe first example context and may determine a level of freedom of thefirst example context as “1” based on the determination and Table 1.

A situation in which the user is using the mobile device mounted to abicycle for the purpose of navigation while riding the bicycle may beconsidered as a second example context. Here, information provided fromthe mobile device may include information, for example, “bicycle,”“externally exposed,” “moving at a middle speed,” “LCD ON,” “beingmounted,” and “using a navigation application.” In this case, the eventmodel may determine a level of freedom of the second example context as“2” based on the determination that the user is accessible to the mobiledevice, but, is difficult to manipulate the mobile device and to inputtexts.

A situation in which the user is walking down the street while holdingthe mobile device in one hand may be considered as a third examplecontext. Here, information provided from the mobile device may include,for example, “walking,” “externally exposed,” “moving at a low speed,”“LCD OFF,” “presence of application use record within 10 minutes,” and“one hand.” In this case, the event model may determine a level offreedom of the third example context as “3” based on the determinationthat the user may access and manipulate the mobile device, but, isdifficult to input texts.

A situation in which the user is using the mobile device with seating inthe office may be considered as a fourth example context. Here,information provided from the mobile device may include information, forexample, “stop,” “LCD ON,” “both hands,” “using an application,” and“not using location information.” In this case, the event model maydetermine a level of freedom of the fourth example context as “4” basedon the determination that the user may access the mobile device,manipulate the mobile device, and input texts.

Although Table 1 represents an example of classifying a level of freedominto 4 stages based on a device access status, a device manipulationstatus, and a text input status, those skilled in the art may easilyunderstand that a condition or a stage of a level of freedom may bevariously set.

FIGS. 4 to 8 illustrate examples of providing a different user interfacebased on a level of freedom according to at least one exampleembodiment.

An example of using a level of freedom to provide a notification windowto a user in response to receiving a message is described with referenceto FIG. 4. FIG. 4 illustrates examples of providing a different userinterface based on a current level of freedom of the user in response toreceiving a message at a mobile device 410 through a messaging service.

Referring to FIG. 4, in the case of a level of freedom “1” 420, the useris in a difficult state to perform a device access, a devicemanipulation, and a text input. Therefore, it is no special meaning orit is of no practical use in displaying a notification window on ascreen. In this case, the mobile device 410 may not display thenotification window. FIG. 5 illustrates an example of a screen 510 ofthe electronic device 110 on which a notification window is notdisplayed although a message is received.

In the case of a level of freedom “2” 430, the user may perform a deviceaccess, but may not readily, that is, is in a difficult state to performa device manipulation and a text input. In this case, that the deviceaccess is possible represents that the user may view informationdisplayed on a device screen, and accordingly the mobile device 410 maydisplay a notification window including content of the message. FIG. 6illustrates an example of a screen 610 of the electronic device 110 onwhich a notification window 620 is displayed in response to receiving amessage. Here, because the user may not readily perform the devicemanipulation, FIG. 6 illustrates an example in which information 630about a sender of a message and message content 640 are displayed on thenotification window 620 without a need to provide a separate userinterface through the notification window 620.

In the case of a level of freedom “3” 440, the user may perform a deviceaccess and a device manipulation, but may not readily perform a textinput. In this case, the user may manipulate the mobile device 410 usingat least one hand, and accordingly the mobile device 410 may providecontent of a message on a screen and may also provide user interfacesfor providing functions controllable through simple input. FIG. 7illustrates an example of a screen 710 of the electronic device 110 onwhich a notification window 720 is displayed. Here, since the user mayperform a simple device manipulation, the notification window 720 ofFIG. 7 may be configured to display information 730 about a sender of amessage and message content 740 and to further include a user interface750 for viewing the message through a chatroom of a messenger and a userinterface 760 for closing the notification window 720. Further, thenotification window 720 may be configured to further include userinterfaces 770 and 780 for sending desired or preset boilerplates “busynow” and “call you later.” If the user selects one of the userinterfaces 770 and 780, for example, if the user touches an area onwhich a corresponding user interface is displayed in a touchscreenenvironment, the electronic device 110 may send a message including theboilerplate corresponding to the selected user interface to a recipientcorresponding to the information 730 about the sender. Also, if the useris driving or if a portable terminal is inside a bag, based oninformation received from a GPS and a base station of a neighboringwireless telephone network or a luminance sensor, that is, if it isdetermined that the user is in a state to be incapable of selecting theboilerplate, the electronic device 110 may automatically send thecorresponding boilerplate without receiving a selection from the user.

In the case of a level of freedom “4” 450, the user is in a stateallowed to perform all of a device access, a device manipulation, and atext input. In this case, the user may view content of a receivedmessage, and if desired, may directly input and send an answer.Accordingly, the mobile device 410 may further provide a user interfacethat allows the user to directly input an answer through a notificationwindow. FIG. 8 illustrates an example of a screen 810 of the electronicdevice 110 on which a notification window 820 is displayed in responseto receiving a message.

As described above, the user is in a state allowed to perform all of thedevice access, the device manipulation, and the text input, information830 about a sender of the message and message content 840 are displayedon the notification window 820.

Also, the notification window 820 may provide simple user interfaces850, 860, 870, and 880 and may further provide a text input interfacesuch that the user may input an answer to the message as represented bya box 890 indicated with dotted lines. For example, if the user selectsan area on which the box 890 is displayed, a function for inputting atext may be provided to the user.

According to the example embodiment, even in the case of providing asingle function in association with the messaging service, various userinterfaces may be provided based on a level of freedom determined basedon a context of a user. Those skilled in the art may easily understandfrom the aforementioned example embodiments that such a level of freedommay variously apply to various functions associated with the messagingservice.

Hereinafter, various example embodiments regarding using a context of auser are described.

FIG. 9 illustrates an example of displaying status information ofanother user according to at least one example embodiment. As describedabove, in addition to a mobile device of a user, the server 150 thatprovides a messaging service may also acquire detailed contexts of usersusing the messaging service. FIG. 9 illustrates an example of providinga list of other users having a personal relationship established withthe user through a screen 910 of the electronic device 110. Here,information about a context of at least one another user may bedisplayed. Referring to FIG. 9, information about contexts of otherusers may be provided by notifying that another user BBB is “in meeting”as shown in a first box 920 indicated with dotted lines, another userCCC is “riding a bicycle” as shown in a second box 930 indicated withdotted lines, and another user EEE is “using a messenger” as shown in athird box 940 as indicated with dotted lines.

To this end, the server 150 may receive, from mobile devices of suchusers, information gathered through the first process 310 to the sixthprocess 360 of FIG. 3 over the network 170, and may classify thecontexts of the users through the seventh process 370. Also, once eachof the mobile devices of the users classifies a context of acorresponding user through the first process 310 to the sixth process360, the server 150 may receive and use information about the classifiedcontext of the user.

As described above, in providing a list of other users having a personalrelationship established with the user through the messaging service,the server 150 may also provide context information of at least oneanother user and the mobile device may display, on a screen, a list thatincludes the context information of the at least one other user andinformation of the corresponding other user under control of a messengerapplication installed and executed on the mobile device. Here, thedisplayed context information may not need to include all of the contextinformation gathered for the other user. The server 150 may selectivelyprovide representative context information among a plurality of piecesof context information gathered for the other user.

Also, the mobile device may provide a user interface capable of settinganother user to display context information of the user through themessenger application. For example, FIG. 9 may represent an example inwhich one or more other users BBB, CCC, and EEE set their contextinformation to be provided to the user of the electronic device 110.Such displaying of context information may allow users to sympathizewith providing information through context information with other usershaving a personal relationship (in other words, may allow users toprovide context information to other users having a personalrelationship) although a chat is not ongoing between the users throughthe messaging service.

As another example, the server 150 may display a chat joinability scoreof each chatroom through a list of chatrooms (chat sessions). Forexample, the server 150 may calculate a probability that (or a degree towhich) the user is likely to join or participate/engage in a chat in acorresponding chat session as a numerical value based on contextinformation of each of participants of a specific chat session, and mayprovide the calculated probability as a chat joinability score.

FIG. 10 illustrates an example of providing a chat joinability scoreaccording to at least one example embodiment. FIG. 10 illustrates anexample of a screen 1010 of the electronic device 110 on which a list ofchat sessions (chatrooms) including the user as a participant isdisplayed. Here, a box 1020 indicated with dotted lines represents chatjoinability scores of the respective chat sessions. FIG. 10 illustratesan example in which a chat joinability score is determined as anumerical value between 0 and 100. Here, as the chat joinability scoreincreases, it may represent that the user is highly likely toparticipate in a chat in a corresponding chatroom. For example, if allof participants of a chatroom are busy, the user may not readily receivean answer although the user joins the chatroom and sends a message.Therefore, a corresponding chat joinability score may be set to berelatively low. Depending on some example embodiments, a chatjoinability score may be represented using color (e.g., red, yellow, andgreen) or a level (e.g., three stages including high, mid, and low),instead of using a numerical value.

A chat joinability score may be determined based on a level of freedomof each of participants present in a chat session and a record aboutmessages sent from and received by each of the participants in achatroom. For example, the server 150 may set a chat joinability scoreto a relatively high value according to an increase in levels of freedomof participants present in a chat session and an increase in a number oftimes each of the participants sends/receives messages for a currentpreset period of time (of alternatively, for a desired period of time).

Also, the server 150 may sort and provide chatrooms included in achatroom (chat session) list based on chat joinability scores. That is,a list in which chatrooms are sorted in order of chatrooms where as manyusers can immediately join may be provided to the user. Also, the server150 may provide a list that includes only chatrooms having at least apreset (or alternatively, desired) chat joinability score value amongthe chatrooms sorted based on the chat joinability scores or may providea list that includes only a preset (or alternatively, desired) number ofchatrooms in descending order of chat joinability scores among thechatrooms sorted based on the chat joinability scores.

A chat joinability score may be set for each user. For example, insteadof displaying context information of other users having a personalrelationship with a specific user, as illustrated in FIG. 9, a chatjoinability score for each user may be calculated and displayed. In thiscase, the chat joinability score of each user may be determined based ona level of freedom and message transmission and reception record of acorresponding user. For example, the server 150 may set a chatjoinability score to a relatively high value according to an increase ina level of freedom of a corresponding user and an increase in a numberof times the user sends and/or receives messages for a current preset(or alternatively, desired) period of time. For example, with respect toa participant B of a chat session A, a chat joinability score of theuser B may be set to a relatively high value as a number of messagessent from the user B increases with respect to a total number ofmessages sent for a preset (or alternatively, desired) period of time inthe chat session A.

Also, the server 150 may also provide a chat joinability score for eachuser as chat concentration of each of participants in a correspondingchatroom. For example, when it is assumed that a user A, a user B, and auser C are joining a chatroom A, the server 150 may display chatconcentration of each of the user A, the user B, and the user C inassociation with a corresponding user in the chatroom A. Also, contextinformation (e.g., run, in meeting, bus, bicycle) of participants may beprovided from a chatroom.

Also, the server 150 may provide a user interface that allows each ofindividual users to set whether to display context information, chatconcentration, etc., with respect to each of friends (e.g., other usershaving a personal relationship at the messaging service) of acorresponding user through a messenger application.

Also, the server 150 may provide a function of assisting a chatroomcreation based on context information to users through the messengerapplication. For example, the server 150 may recommend a participant ofa chat session to the user through the messenger application based oncontexts of users at a time of creating the chatroom session. Forexample, the server 150 may recommend a friend in the same context asthat of the user or in a context preset or selected by the user to theuser. As another example, the server 150 may also recommend a friendhaving relatively high chat concentration to the user. Here, the server150 may create and provide a new chatroom of a friend selected by theuser from among such recommended friends.

According to another example embodiment, the server 150 may create ananonymity-based instant open chatroom based on context information. Forexample, the server 150 may create an anonymity-based chatroom in whichusers in the same context in a specific area are participants and mayrecommend the corresponding users to join the created chatroom. Also, ifthe user sets an area and/or context, the server 150 may retrievechatrooms suitable for the set area and/or context and may provide alist of retrieved chatrooms. Even in the anonymity-based chatroom, theuser may set whether to display context information or chatconcentration (e.g., chat joinability score) of the user.

The function may provide an opportunity of exchanging informationbetween anonymous users in a specific context or easily gathering andhaving a chat between users associated with a specific event. Forexample, users gathered to experience a game of each booth may exchangeinformation about a length of a line for each booth, informationassociated with congestion of vehicles on a specific road, orinformation about attractions of an amusement park or appreciation ofpersons attending the same performance or related information through ananonymity-based chatroom. That is, the server 150 may induce anonymoususers in a specific context to join the anonymity-based chatroom andexchange information.

FIG. 11 is a flowchart illustrating an example of an interaction methodaccording to at least one example embodiment. The interaction methodaccording to the example embodiment may be performed by theaforementioned computer apparatus 200. The computer apparatus 200 maycorrespond to the aforementioned mobile device or electronic device 110,and may receive a messaging service from the server 150 providing themessaging service over the network 170. For example, the processor 220of the computer apparatus 200 may be configured to execute a controlinstruction according to a code of at least one program or a code of anOS included in the memory 210. Here, the processor 220 may control thecomputer apparatus 200 to perform operations 1110 to 1150 included inthe interaction method of FIG. 11 in response to a control instructionprovided from a code stored in the computer apparatus 200.

Referring to FIG. 11, in operation 1110, the computer apparatus 200 mayacquire information associated with a context of at least one of amobile device and a user of the mobile device under control of anapplication installed and executed on the mobile device in associationwith a messaging service. Information associated with a context of theuser is described above with reference to the first process 310 to thesixth process 360 of FIG. 3.

In operation 1120, the computer apparatus 200 may determine a context ofthe user based on the acquired information. For example, in operation1120, the computer apparatus 200 may determine, as the context of theuser, a context that is determined by inputting the acquired informationto a classification model configured or pre-trained to determine asingle context among preset contexts (or a plurality of desiredcontexts) based on input information. The pre-trained classificationmodel is described above through naive Bayes classification as aclassification model using a probability and an SVM as anon-probabilistic classification model.

In operation 1130, the computer apparatus 200 may verify a function tobe provided to the user through the messaging service based on thedetermined context of the user. A function of providing a notificationwindow to the user in response to receiving a message is described abovewith reference to FIGS. 4 to 8. For example, the function may include afunction of providing a notification about a received message to theuser through the messaging service, and the user interface may include aconfiguration of not displaying a notification window, a configurationof displaying content of a message through the notification window, aconfiguration of providing the content of the message and a selectioninterface through the notification window, and a configuration ofproviding the content of a message, a selection interface, and a textinput interface through the notification window. In this case, inoperation 1130, the computer apparatus 200 may determine a single levelamong a plurality of levels based on a device access status of the user,a device manipulation status of the user, and/or a text input status ofthe user. Depending on example embodiments, the level may be determinedby the server 150 that is connected to the computer apparatus 200 overthe network 170 and provides the messaging service to the computerapparatus 200, based on information received from the computer apparatus200.

In operation 1140, the computer apparatus 200 may dynamically determinea configuration of a user interface for providing the function, based onthe determined context of the user. For example, a configuration of auser interface may be defined or preset with respect to each level, andthe computer apparatus 200 may dynamically determine the configurationof the user interface for providing the function through a userinterface that includes configurations provided based on levels lessthan the level determined in operation 1130, based on the context of theuser.

In operation 1150, the computer apparatus 200 may provide the functionthrough the user interface of which the configuration is dynamicallydetermined. Therefore, the user may be provided with a user interfacethat includes a different configuration based on the context of the userand may interact with the messaging service through a context-by-contextuser interface.

FIG. 12 is a flowchart illustrating another example of an interactionmethod according to at least one example embodiment. The interactionmethod according to the example embodiment may be performed by theaforementioned computer apparatus 200. The computer apparatus 200according to the example embodiment may correspond to the server 150that provides a messaging service. For example, the processor 220 of thecomputer apparatus 200 may be configured to execute a controlinstruction according to a code of at least one program or a code of anOS included in the memory 210. Here, the processor 220 may control thecomputer apparatus 200 to perform operations 1210 to 1250 included inthe interaction method of FIG. 12 in response to a control instructionprovided from a code stored in the computer apparatus 200.

Referring to FIG. 12, in operation 1210, the computer apparatus 200 maystore and manage information about other members having a personalrelationship established for each of a plurality of members using amessaging service. The computer apparatus 200 may be an entity thatprovides the messaging service, and accordingly, may manage informationabout a personal relationship between members at the messaging service.

In operation 1220, the computer apparatus 200 may continuously gathercontext information about each of the plurality of members. For example,information provided from each of mobile devices of members of themessaging service through the first process 310 to the sixth process 360of FIG. 3 may be gathered at the computer apparatus 200. In this case,the computer apparatus 200 may determine context information and/orlevel (e.g., a level of freedom described with reference to Table 1) ofmembers based on information gathered by performing the seventh process370. Depending on some example embodiments, in each of the mobiledevices of the members, all of the first process 310 to the seventhprocess 370 may be performed. In this case, the computer apparatus 200may gather context information and/or level from each of the mobiledevices.

In operation 1230, the computer apparatus 200 may store and update thegathered context information in a database in association with acorresponding member. The computer apparatus 200 may update the databaseby periodically gathering context information from the mobile devices.

In operation 1240, in response to providing information about a secondmember having a personal relationship established with a first memberamong the plurality of members to the first member, the computerapparatus 200 may extract context information about the second memberfrom the database. In response to providing a list of other membershaving a personal relationship established with the first member, thecomputer apparatus 200 may extract context information about each of theother members from the database.

In operation 1250, the computer apparatus 200 may provide the extractedcontext information to the first member with information about thesecond member. As described above, in response to providing a list ofother members having a personal relationship established with the firstmember, the computer apparatus 200 may extract context information abouteach of the other members from the database.

Depending on some example embodiments, the computer apparatus 200 maycalculate and provide a chat joinability score with context informationor instead of the context information. For example, the computerapparatus 200 may calculate a chat joinability score of the secondmember based on the context information extracted from the database, andmay provide the calculated chat joinability score to the first memberwith information about the second member. As described above, the chatjoinability score may be calculated as a relatively high value accordingto an increase in a level for a context of the second member and anincrease in a number of messages sent from and received by the secondmember through a chat session.

According to another example embodiment, the computer apparatus 200 mayprovide a chat joinability score for a chatroom. For example, inresponse to providing information about a chat session joined by thefirst member, the computer apparatus 200 may extract context informationof each of members joining the chat session from the database, and maycalculate a chat joinability score for the chat session based on thecontext information of each of the members joining the chat session. Inthis case, the computer apparatus 200 may provide the calculated chatjoinability score to the first member with information about the chatsession. The chat joinability score may be calculated as a relativelyhigh value according to an increase in a level according to contextinformation of each of the members joining the chat session and/or anincrease in a number of messages sent and/or received through the chatsession. Also, the computer apparatus 200 may sort a list of chatsessions joined by the first member based on chat joinability scores forthe chat sessions joined by the first member and may provide the sortedlist to the first member.

According to another example embodiment, the computer apparatus 200 mayprovide a user interface that allows the first member to set whether toprovide context information to the other members having a personalrelationship established with the first member for each of the othermembers, through an application installed and executed on a mobiledevice of the first member in association with the messaging service.That is, each of members of the messaging service may set whether todisplay context information of a corresponding member to friends foreach friend. Depending on some example embodiments, a user interface forsetting whether to display a chat joinability score as well as contextinformation for each friend may be provided.

According to another example embodiment, the computer apparatus 200 maydetermine a third member having the same context information as that ofthe first member or having context information desired or preset by thefirst member among the other members, may recommend the third member tothe first member, and may, in response to a selection on the recommendedthird member, create a chat session in which the first member and thethird member are participants. That is, the computer apparatus 200 mayprovide each of the members with a function of recommending a friendhaving the same context or context set by members or creating a chatroomwith a recommended friend.

According to another example embodiment, the computer apparatus 200 mayselect members having the same context information among the pluralityof members, and may create an anonymous chat session between theselected members.

Also, the computer apparatus 200 may retrieve an anonymous chat sessioncorresponding to context information set by the first member, and mayprovide information about the retrieved anonymous chat session to thefirst member. Here, a geographical location may be further used toselect or retrieve members. For example, an anonymous chatroom betweenusers having the same context in the same area may be created,retrieved, and provided.

According to some example embodiments, it is possible to provide adifferent user interface based on a context of a user in terms ofproviding the same function, for example, providing a notification, byinferring a current context of the user based on current information andrecent records acquirable from a mobile device, by determining a levelof freedom of the user based on a device access status, a devicemanipulation status, and a text input status according to the inferredcontext of the user, and by determining an interaction method with amessaging service based on the determined level of freedom.

According to some example embodiments, it is possible to provide statusinformation of other users having a personal relationship establishedwith a specific user to the specific user by gathering and managinginformation about contexts of users at a messaging service.

According to some example embodiments, it is possible to provide and/ordisplay information about a chat joinability score for each of chatsessions established at a messaging service by gathering and managinginformation about contexts of users at the messaging service.

According to some example embodiments, it is possible to provide and/ordisplay information about the chat concentration of participants in achat session at a messaging service by gathering and managinginformation about contexts of users at the messaging service.

According to some example embodiments, it is possible to recommend aparticipant of a chat session based on contexts of users at a time ofcreating the chat session by gathering and managing information aboutcontexts of users at the messaging service.

According to some example embodiments, it is possible to provide afunction that allows users to retrieve, create, and participate in ananonymous cat session based on contexts of the users by gathering andmanaging information about contexts of the users at a messaging service.

According to some example embodiments, it may possible to reduceconsumption of system (or apparatus) resources. For example, byproviding a user interface having different configurations based oncontext information of a user, it may be possible to turn off a displayof the system (or apparatus) and/or to reduce the usage of the computingresources for a certain context of a user. Further, a battery life ofthe system (or apparatus) may be extended due to the turning-off of thedisplay and/or the reduced usage of the system resources.

The systems or apparatuses described above may be implemented usinghardware components, software components, and/or a combination thereof.For example, the apparatuses and the components described herein may beimplemented using one or more general-purpose or special purposecomputers, such as, for example, a processor, a controller, anarithmetic logic unit (ALU), a digital signal processor, amicrocomputer, a field programmable gate array (FPGA), a programmablelogic unit (PLU), a microprocessor, or any other device capable ofresponding to and executing instructions in a defined manner. Theprocessing device may run an operating system (OS) and one or moresoftware applications that run on the OS. The processing device also mayaccess, store, manipulate, process, and create data in response toexecution of the software. For simplicity, the description of aprocessing device is used as singular; however, one skilled in the artwill be appreciated that a processing device may include multipleprocessing elements and/or multiple types of processing elements. Forexample, a processing device may include multiple processors or aprocessor and a controller. In addition, different processingconfigurations are possible, such as parallel processors, distributedprocessors, a cloud computing configuration, etc. Moreover, eachprocessor of the at least one processor may be a multi-core processor,but the example embodiments are not limited thereto.

The software may include a computer program, a piece of code, aninstruction, or some combination thereof, for independently orcollectively instructing or configuring the processing device to operateas desired. Software and/or data may be embodied permanently ortemporarily in any type of machine, component, physical equipment,virtual equipment, computer storage medium or device, or in a propagatedsignal wave capable of providing instructions or data to or beinginterpreted by the processing device. The software also may bedistributed over network coupled computer systems so that the softwareis stored and executed in a distributed fashion. The software and datamay be stored by one or more computer readable storage mediums.

The methods according to the above-described example embodiments may berecorded in non-transitory computer-readable media including programinstructions to implement various operations of the above-describedexample embodiments. The media may also include, alone or in combinationwith the program instructions, data files, data structures, and thelike. The media may continuously store a program executable by acomputer or may temporarily store or the program for execution ordownload. Also, the media may be various types of recording devices orstorage devices in which a single piece or a plurality of pieces ofhardware may be distributed over a network without being limited to amedium directly connected to a computer system. Examples of the mediamay include magnetic media such as hard disks, floppy disks, andmagnetic tapes; optical media such as CD-ROM discs and DVDs;magneto-optical media such as floptical disks; and hardware devices thatare specially configured to store and perform program instructions, suchas read-only memory (ROM), random access memory (RAM), flash memory, andthe like. Examples of other media may include recording media andstorage media managed at Appstore that distributes applications or sitesand servers that supply and distribute various types of software.Examples of program instructions include both machine code, such asproduced by a compiler, and files containing higher level code that maybe executed by the computer using an interpreter.

While this disclosure includes specific example embodiments, it will beapparent to one of ordinary skill in the art that various alterationsand modifications in form and details may be made in these exampleembodiments without departing from the spirit and scope of the claimsand their equivalents. For example, suitable results may be achieved ifthe described techniques are performed in a different order, and/or ifcomponents in a described system, architecture, device, or circuit arecombined in a different manner, and/or replaced or supplemented by othercomponents or their equivalents.

What is claimed is:
 1. An interaction method of a mobile device, theinteraction method comprising: acquiring information associated with acontext of at least one of a mobile device and a user of the mobiledevice under control of an application installed and executed on themobile device in association with a messaging service; determining acontext of the user based on the acquired information; verifying afunction to be provided to the user through the messaging service basedon the determined context of the user; dynamically determining aconfiguration of a user interface based on the determined context of theuser; and providing the function through the user interface of which theconfiguration is dynamically determined.
 2. The interaction method ofclaim 1, wherein the determining the context of the user comprises:determining a specific context by inputting the acquired information toa classification model pre-trained to determine one context among presetcontexts based on input information; and determining the specificcontext as the context of the user.
 3. The interaction method of claim1, wherein the function includes a function of providing a notificationabout a received message to the user through the messaging service, andthe user interface includes at least two or more of a configuration ofnot displaying a notification window, a configuration of displayingcontent of a message through the notification window, a configuration ofproviding the content of the message and a selection interface throughthe notification window, or a configuration of providing the content ofthe message, the selection interface, and a text input interface throughthe notification window.
 4. The interaction method of claim 1, whereinthe determining the context of the user comprises determining one levelamong a plurality of levels based on a device access status of the user,a device manipulation status of the user, and a text input status of theuser.
 5. The interaction method of claim 4, further comprising: settingthe configuration of the user interface with respect to each of theplurality of levels, wherein the providing comprises providing thefunction through the user interface configured based on the determinedone level or one of the lower levels than the determined one level,among the plurality of levels.
 6. A non-transitory computer-readablerecord medium storing instructions that, when executed by a processor,cause the processor to perform the interaction method of claim
 1. 7. Acomputer apparatus comprising: at least one processor configured toexecute computer-readable instructions, wherein the at least oneprocessor is configured to, acquire information associated with acontext of at least one of a mobile device and a user of the mobiledevice under control of an application installed and executed on themobile device in association with a messaging service, determine acontext of the user based on the acquired information, verify a functionto be provided to the user through the messaging service based on thedetermined context of the user, dynamically determine a configuration ofa user interface based on the determined context of the user, andprovide the function through the user interface of which theconfiguration is dynamically determined.
 8. The computer apparatus ofclaim 7, wherein the at least one processor is further configured todetermine the context of the user by: determining a specific context byinputting the acquired information to a classification model pre-trainedto determine one context among a plurality of contexts based on inputinformation determining the specific context as the context of the user.9. The computer apparatus of claim 7, wherein the at least one processoris further configured to, calculate a chat joinability score of a firstmember based on extracted context information, and provide thecalculated chat joinability score to a second member with informationabout the first member.